package com.w7vm.menuweb.facade;

import java.util.List;
import java.util.Set;

import javax.ejb.Remote;

import com.w7vm.menuweb.entity.RestauranteEstruturaSy;
import com.w7vm.menuweb.entity.RestauranteSedeEnderecoWeb;
import com.w7vm.menuweb.entity.RestauranteSedeInfraestruturaWeb;
import com.w7vm.menuweb.entity.RestauranteSedeJuridicoWeb;
import com.w7vm.menuweb.entity.RestauranteSedeWeb;
import com.w7vm.menuweb.vo.EnderecoVO;
import com.w7vm.menuweb.vo.RestauranteVO;

@Remote
public interface RestauranteSedeFacade {
	
	// Operacao CRUD
	public abstract void saveRestauranteSede(RestauranteSedeWeb rest);
	public abstract RestauranteSedeWeb findRestauranteSedeByID(int idRestaurante);
	public abstract RestauranteSedeWeb updateRestauranteSede(RestauranteSedeWeb sedeEntity);
	public List<RestauranteSedeWeb> findRestauranteSedeByCNPJ(String cnpj);
	public abstract void deleteRestauranteSede(RestauranteSedeInfraestruturaWeb infraOjb);
	public abstract void deleteRestauranteSedeInfraestrutura(RestauranteSedeWeb infraOjb);


	// Operação SET VO
	public abstract RestauranteVO setRestauranteSedeVO(RestauranteSedeWeb sedeEntity);
	public abstract EnderecoVO setRestauranteSedeEnderecoVO(RestauranteSedeWeb sedeEntity);
	public abstract Set<RestauranteEstruturaSy>  setRestauranteSedeEstruturaVO(RestauranteSedeWeb sedeEntity);

	// Operação SET ENTITY
	public abstract RestauranteSedeWeb setRestauranteSedeEntity(RestauranteVO restauranteVO,RestauranteSedeWeb sedeEntity);
	public abstract RestauranteSedeEnderecoWeb setRestauranteSedeEnderecoEntity(EnderecoVO enderecoVO);
	public abstract Set<RestauranteSedeInfraestruturaWeb> setRestauranteSedeInfraestruturaEntity(List<RestauranteEstruturaSy> estruturaPickerView,
			RestauranteSedeWeb restObj);

}
